home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / ctutor.exe / SOURCE / BITOPS.C < prev    next >
C/C++ Source or Header  |  1994-05-15  |  2KB  |  60 lines

  1.                               /* Chapter 13 - Program 3 - BITOPS.C */
  2. #include "stdio.h"
  3.  
  4. void main()
  5. {
  6. char mask;
  7. char number[6];
  8. char and, or, xor, inv, index;
  9.  
  10.    number[0] = 0X00;
  11.    number[1] = 0X11;
  12.    number[2] = 0X22;
  13.    number[3] = 0X44;
  14.    number[4] = 0X88;
  15.    number[5] = 0XFF;
  16.  
  17.    printf(" nmbr  mask   and    or   xor   inv\n");
  18.    mask = 0X0F;
  19.    for (index = 0 ; index <= 5 ; index++) {
  20.       and = mask & number[index];
  21.       or = mask | number[index];
  22.       xor = mask ^ number[index];
  23.       inv = ~number[index];
  24.       printf("%5x %5x %5x %5x %5x %5x\n", 
  25.                              number[index], mask, and, or, xor, inv);
  26.    }
  27.  
  28.    printf("\n");
  29.    mask = 0X22;
  30.    for (index = 0 ; index <= 5 ; index++) {
  31.       and = mask & number[index];
  32.       or = mask | number[index];
  33.       xor = mask ^ number[index];
  34.       inv = ~number[index];
  35.       printf("%5x %5x %5x %5x %5x %5x\n",
  36.                              number[index], mask, and, or, xor, inv);
  37.    }
  38. }
  39.  
  40.  
  41.  
  42. /* Result of execution
  43.  
  44.   nmbr  mask   and    or   xor   inv
  45.      0     f     0     f     f  ffff
  46.     11     f     1    1f    1e  ffee
  47.     22     f     2    2f    2d  ffdd
  48.     44     f     4    4f    4b  ffbb
  49.   ff88     f     8  ff8f  ff87    77
  50.   ffff     f     f  ffff  fff0     0
  51.  
  52.      0    22     0    22    22  ffff
  53.     11    22     0    33    33  ffee
  54.     22    22    22    22     0  ffdd
  55.     44    22     0    66    66  ffbb
  56.   ff88    22     0  ffaa  ffaa    77
  57.   ffff    22    22  ffff  ffdd     0
  58.  
  59. */
  60.